#ifndef _SDLSELECTABLEREGION_H_
#define _SDLSELECTABLEREGION_H_

#include "SDLSurface.h"
#include "Logger.h"
#include "SDL.h"
#include "SDL_gfxPrimitives.h"
#include "SDL_ttf.h"
#include <string>

using namespace util;
using namespace std;

namespace sdl
{
class SDLSelectableRegion
{
public:
	SDLSelectableRegion(int, int, int, int, SDLSurface*);
	virtual ~SDLSelectableRegion(void);
	void setX(int x) { this->x = x;};
	int getX(void) { return x;};
	void setY(int y) { this->y = y;};
	int getY(void) { return y;};
	void setWidth(int width) { this->width = width;};
	int getWidth(void) { return width;};
	void setHeight(int height) { this->height = height;};
	int getHeight(void) { return height;};
	void setLabel(string label) { this->label = label;};
	string getLabel(void) { return label;};
	void setBorderColor(Color* bc) { borderColor = bc;};
	void setBackgroundColor(Color* bc) { backgroundColor = bc;};
	void draw(void);
private:
	void drawBorder(void);
	void drawBackground(void);
	void drawContents(void);
	void initialize(void);
	SDLSurface* sdlSurface;
	int x;
	int y;
	int width;
	int height;
	string label;
	Color* borderColor;
	Color* backgroundColor;
	TTF_Font* font;
};
};

#endif
